<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试</title>
</head>
<body>
<h1>统一建模语言理论测试</h1>
<form>
<table>
    <tr>
        <td>考试科目：统一建模语言</td>
        <td>时间：100分钟</td>
        <td><h3>得分：<span id="score">100</span></h3></td>
    </tr>
    <tr>
        <td>班级：<input type="text"  name="class">
        </td>
        <td>
            学号：<input type="text"  name="id">
        </td>
        <td>
            姓名：<input type="text"  name="name">
        </td>
    </tr>
</table>
    <h2>一、填空题（每空5分，共20分）</h2>
    <p>
        1.UML的中文全称是：<input type="text" id="text1">
    </p>
    <p>
        2.对象最突出的特征是：<input type="text"id="text2"> <input type="text"id="text3"> <input type="text" id="text4">
    </p>
    <h2>二、选择题（每题10分，共20分）</h2>
    <p>1.UML与软件工程的关系是：</p>
    <p>
        <input type="radio" name="a" value="A">（A）UML就是软件工程
        <br/>
        <input type="radio" name="a" value="B">（B）UML参与到软件工程中软件开发过程的几个阶段
        <br/>
        <input type="radio" name="a" value="C">（C）UML与软件工程无关
        <br/>
        <input type="radio" name="a" value="D">（D）UML是软件工程的一部分
    </p>
    <p>2.Java语言支持：</p>
    <p>
        <input type="radio" name="a1" value="A">（A）单继承
        <br/>
        <input type="radio" name="a1" value="B">（B）多继承
        <br/>
        <input type="radio"name="a1" value="C">（C）单继承和多继承都支持
        <br/>
        <input type="radio"name="a1" value="D">（D）单继承和多继承都不支持
    </p>
    <h2>三、多选题（每题10分，共20分）</h2>
    <p>1.用例的粒度分为以下哪三种：</p>
    <p>
        <input type="checkbox" name="mybox" value="A">（A）概述级
        <br/>
        <input type="checkbox" name="mybox" value="B">（B）需求级
        <br/>
        <input type="checkbox" name="mybox" value="C">（C）用户目标级
        <br/>
        <input type="checkbox" name="mybox" value="D">（D）子功能级
    </p>
    <p>2.类图由以下哪三部分组成：</p>
    <p>
        <input type="checkbox" name="mybox1" value="A">（A）名称（Name）
        <br/>
        <input type="checkbox" name="mybox1" value="B">（B）属性（Attribute）
        <br/>
        <input type="checkbox" name="mybox1" value="C">（C）操作（Operation）
        <br/>
        <input type="checkbox" name="mybox1" value="D">（D）方法（Function）
    </p>
    <h2>四、判断题（每题10分，共20分）</h2>
    <p>
        1.用例图知识用于和客户交流和沟通的，用于确定需求。<input type="radio" name="t" value="true">√<input type="radio" name="t" value="false">×
        <br/>
        2.在状态图中，终止状态在一个状态图中允许有任意多个。<input type="radio" name="t1" value="true">√<input type="radio" name="t1" value="false">×
    </p>
    <h2>五、简答题（每题20分，共20分）</h2>
    <p>
        1.简述什么是模型以及模型的表现形式？
        <br/>
        <textarea rows="8" cols="80" id="textarea">
        </textarea>
    </p>
    <input type="submit" value="计算分数" id="submit">
</form>
<script type="text/javascript">
    let btn=document.getElementById("submit");
    btn.addEventListener("click",function(e){
        e.preventDefault();
            function text(myText){
                return document.getElementById(myText).value;
            }
            function radio(myRadio){
                let t=document.getElementsByName(myRadio);
                let a;
                for(let i=0;i<t.length;i++){
                    if(t[i].checked){
                        a=t[i].value;
                    }
                }
                return a;
            }
            function checkbox(myCheckBox){
                let arr=[];
                let t=document.getElementsByName(myCheckBox);
                for(let i=0;i<t.length;i++){
                    if(t[i].checked){
                        arr.push(t[i].value);
                    }
                }
                return arr;
            }


             let num = 0;
             if (text("text1") == "统一建模语言") {
                 num = num + 5;
             }
             if (text("text2") == "封装性") {
                 num = num + 5;
             }
             if (text("text3") == "继承性") {
                 num = num + 5;
             }
             if (text("text4") == "多态性") {
                 num = num + 5;
             }
             if (text("textarea") == "模型是对现实世界的简化和抽象，模型是对所研究的系统、过程、事物或概念的一种表达形式。可以是物理实体；可以是某种图形；或者是一种数学表达式。") {
                 num = num + 20;
             }
             if (radio("a") == "B") {
                 num = num + 10;
             }
             if (radio("a1") == "A") {
                 num = num + 10;
             }
             if (radio("t1") =="true"){
                 num = num + 10;
             }
             if (radio("t") == "false") {
                 num = num + 10;
             }
             if (checkbox("mybox").toString() == ["A", "B", "D"].toString()) {
                 num = num + 10;
             }
             if (checkbox("mybox1").toString() == ["A", "B", "C"].toString()) {
                 num = num + 10;
             }
        alert("submit,yes?");
       document.getElementById("score").innerHTML= num;
    });
</script>
</body>
</html>